There is often a need to capture the color of a sample and determine the closest match for that color in an existing color database. For example, a user may want to find out the paint color of a wall or piece of furniture. To do so, they might search through the paint manufacturer's fan deck to identify the color. However, such manual identifications are prone to error and are time consuming.
Efforts have been made to use images taken with a camera to identify the color of a sample by searching the color values from a color database. For example, U.S. Pat. No. 8,634,640 to Nina Bhatti et. al. (herein incorporated by reference as if presented in its entirety) teaches a method to select a color palette from a camera image, aided with a reference color chart. In that method, matrix transformations are used to convert images taken with an unknown illuminant to known illuminant, and thus eliminate the need of controlled illumination. In that method, matrix transformation was used to convert unknown illuminant to known illuminant, and thus eliminated the need of controlled illumination. However, depending on the difference between the unknown illuminant and the known illuminant, errors caused by a simple matrix transformation can be very large, and the performance of such a system can thus be poor.
Thus, what is needed in the art is a system that improves upon and advances the technological field of color searching and identification. For example, what is needed are systems and methods that utilize available cameras, such as those in smartphones, to acquire images of a sample and color reference charts under multiple unknown illuminants and use the data captured to identify the sample color from a database of colors. Furthermore, what is needed in the art are systems, methods and computer program products for evaluating color values of an image and searching for the same or similar colors in a collection of colors offered by various color vendors.